perm filename UNDER[POX,WD] blob sn#370394 filedate 1978-07-16 generic text, type T, neo UTF8
\|\\;				Define Brick Character
\M0FIX25;\;	fixed font
\⊂'000040;\;	VERREM - REM's syntax form macros with args definitions
\⊂'000400;\;	VERRHT - modified way to pass args with nest chars
\@NUMER.POX[POX,WD];\;
\@STRING.POX[POX,WD];\;
\8ISCRLF(CHAR)[\N		is char a cr or lf
\	;\a⊗CHAR⊗\N			ascii of char to ac
\	;\P\N				push ac
\	;\-=13;\N			sub ascii of cr from ac
\	;\!COMPAC(\!ISACZERO;);\N	was it a cr
\	;\?EVAL((\p\N				get back ascii of char
\		;\-=10;\N			sub ascii of lf
\		;\!COMPAC(\!ISACZERO;);));\N	was it a lf
\	;\!COMPAC;]\;			restore pos logic
\;
\8UNDERLINE(STR)[\!MAPFIRST(UNDERLINECHAR,⊗STR⊗);]\;
\;
\8UNDERLINECHAR(CHAR)[\N	underline non crlf chars
\	;\P\N				save ac
\	;\!COMPAC(\!ISCRLF(⊗CHAR⊗););\N	if not cr or lf
\	;\?UNDERLINECHAR1(⊗CHAR⊗);\N	underline it
\	;\!COMPAC;\N			complement ac
\	;\?INCR(UNDCNT);\N
\	;\?EVAL(⊗CHAR⊗);\N		pass bare char
\	;\p]\;				restore ac
\;
\8UNDERLINECHAR1(CHAR)[\[=2;=2;⊗CHAR⊗\]]\;
\8UNDERLINECHAR1(CHAR)[\N	*****
\	;\[=2;=2;⊗CHAR⊗\]\N
\	;\!INCR(UNDCNT);
\!EVAL((\m{)\!UNDCNT;( )(}));]\;
\∞UNDCNT[0]\;		*****
\;
\∞FOO[\N		macro to iterate underline
\	;\-=1;\N		decrement count
\	;\P\N
\	;\!UNDERLINE(a);\N

\	;\p]\;
\←=1000;\;		iteration count
\IFOO;\;
\8PRINTCHARS(STR)[\!MAPFIRST(PRINTCHAR,⊗STR⊗);]\;
\;
\8PRINTCHAR(CH)[
\	;\P\N			save ac
\	;\a⊗CH⊗\N			ascii of char to ac
\	;\!EVAL((\m{)\D∀( )(}));\N	trace ac
\	;\!ISCRLF(⊗CH⊗);\N
\	;\!EVAL((\m{)\D∀( )(}));\N	trace ac
\	;\p]\;			restore ac
\;